home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / reuse.lha / reuse / m2c / Positions.c < prev    next >
C/C++ Source or Header  |  1992-08-18  |  1KB  |  70 lines

  1. #include "SYSTEM_.h"
  2.  
  3. #ifndef DEFINITION_IO
  4. #include "IO.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_Positions
  8. #include "Positions.h"
  9. #endif
  10.  
  11. Positions_tPosition Positions_NoPosition;
  12.  
  13.  
  14.  
  15. INTEGER Positions_Compare
  16. # ifdef __STDC__
  17. (Positions_tPosition Position1, Positions_tPosition Position2)
  18. # else
  19. (Position1, Position2)
  20. Positions_tPosition Position1, Position2;
  21. # endif
  22. {
  23.   {
  24.     register Positions_tPosition *W_1 = &Position1;
  25.  
  26.     if (W_1->Line < Position2.Line) {
  27.       return -1;
  28.     }
  29.     if (W_1->Line > Position2.Line) {
  30.       return 1;
  31.     }
  32.     if (W_1->Column < Position2.Column) {
  33.       return -1;
  34.     }
  35.     if (W_1->Column > Position2.Column) {
  36.       return 1;
  37.     }
  38.     return 0;
  39.   }
  40. }
  41.  
  42. void Positions_WritePosition
  43. # ifdef __STDC__
  44. (IO_tFile File, Positions_tPosition Position)
  45. # else
  46. (File, Position)
  47. IO_tFile File;
  48. Positions_tPosition Position;
  49. # endif
  50. {
  51.   IO_WriteI(File, (LONGINT)Position.Line, 4L);
  52.   IO_WriteC(File, ',');
  53.   IO_WriteI(File, (LONGINT)Position.Column, 3L);
  54. }
  55.  
  56. void BEGIN_Positions()
  57. {
  58.   static BOOLEAN has_been_called = FALSE;
  59.  
  60.   if (!has_been_called) {
  61.     has_been_called = TRUE;
  62.  
  63.     BEGIN_IO();
  64.     BEGIN_IO();
  65.  
  66.     Positions_NoPosition.Line = 0;
  67.     Positions_NoPosition.Column = 0;
  68.   }
  69. }
  70.